<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        class Person{
            // 静态属性
            static myName = 'name'
            static myFn = function (){
                console.log('method');
            }
            constructor (name ,age){
                this.name = name
                this.age = age
            }
            say(){
                console.log(this.name , this.age);
            }
        }

        // student类 继承 person的所有属性和方法（包括静态属性和方法）
        class Student extends Person {
            constructor(name , age , score){
                super(name ,age ) // super关键字 意思是调用父类的 构造器constructor 
                this.score = score
            }
            //  父类的say方法 也会被继承  再次写一次  就是重写say方法 
            say(){
                // console.log(this.name , this.age , this.score);
                super.say() // 也可以先调用父类  再写子类的逻辑
                console.log(this.score);
            }

        }

        console.log(Student.myName);
        
        let obj = new Student('lrq' , 24 , 90)




    </script>
</body>
</html>